package com.stock_t.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.stock_t.entity.FundFlowHistory;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * 资金流向历史数据Service接口
 * 提供资金流向数据的业务逻辑处理
 */
public interface FundFlowHistoryService extends IService<FundFlowHistory> {

    /**
     * 根据股票代码查询资金流向历史数据
     * @param stockCode 股票代码
     * @return 资金流向历史数据列表
     */
    List<FundFlowHistory> getFundFlowByStockCode(String stockCode);

    /**
     * 根据股票代码和日期范围查询资金流向数据
     * @param stockCode 股票代码
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 资金流向数据列表
     */
    List<FundFlowHistory> getFundFlowByDateRange(String stockCode, LocalDate startDate, LocalDate endDate);

    /**
     * 同步资金流向数据
     * @param stockCode 股票代码
     * @return 同步结果
     */
    boolean syncFundFlowData();

    /**
     * 批量保存资金流向数据
     * @param fundFlowList 资金流向数据列表
     * @return 保存结果
     */
    boolean batchSaveFundFlow(List<FundFlowHistory> fundFlowList);

    /**
     * 清理过期数据
     * @param daysToKeep 保留天数
     * @return 清理的记录数
     */
    int cleanExpiredData(int daysToKeep);
}